package com.zjsru.plan2023.other;

/**
 * @Author: cookLee
 * @Date: 2023-09-03
 * 最多可以摧毁的敌人城堡数目
 * \
 * 输入：forts = [1,0,0,-1,0,0,0,0,1]
 * 输出：4
 * 解释：
 * - 将军队从位置 0 移动到位置 3 ，摧毁 2 个敌人城堡，位置分别在 1 和 2 。
 * - 将军队从位置 8 移动到位置 3 ，摧毁 4 个敌人城堡。
 * 4 是最多可以摧毁的敌人城堡数目，所以我们返回 4 。
 * \
 * 输入：forts = [0,0,1,-1]
 * 输出：0
 * 解释：由于无法摧毁敌人的城堡，所以返回 0 。
 */
public class CaptureForts {
    public int captureForts(int[] forts) {
        int ans = 0;
        int len = forts.length;
        int pre = -1;
        for (int i = 0; i < len; i++) {
            if(forts[i] == 1 || forts[i] == -1){
                if (pre >= 0 && forts[i] != forts[pre]) {
                    ans = Math.max(ans, i - pre - 1);
                }
                //重新定位
                pre = i;
            }
        }
        return ans;
    }

    public static void main(String[] args) {
        CaptureForts captureForts = new CaptureForts();
        int[] forts = new int[]{1,0,0,-1,0,0,0,0,1};
        System.out.println(captureForts.captureForts(forts));
    }
}
